import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options # 新导入的options模块

#关闭日志文件！
from tornado.options import options, parse_command_line
options.logging = None
parse_command_line()


#ornado.options模块——全局参数定义、存储、转换。
#全局的options对象，所有定义的选项变量都会作为该对象的属性。
tornado.options.define("port", default=8000, type=int, help="run server on the given port.") # 定义服务器监听端口选项
tornado.options.define("itcast", default=[], type=str, multiple=True, help="itcast subjects.") # 无意义，演示多值情况

class IndexHandler(tornado.web.RequestHandler):
    """主路由处理类"""
    def get(self):
        """对应http的get请求方式"""
        if self.get_argument(''):
            self.write("Hello Itcast!")

if __name__ == "__main__":
    #导入配置文件！
    tornado.options.parse_config_file("./config")
    tornado.options.parse_command_line()
    # print(tornado.options.options.itcast) # 输出多值选项
    app = tornado.web.Application([
        (r"/", IndexHandler),
    ])
    http_server = tornado.httpserver.HTTPServer(app)
    #调用全局变量属性 post
    http_server.listen(tornado.options.options.port)
    tornado.ioloop.IOLoop.current().start()